package com.neusoft.ch7.hw.test03;

public abstract class Shape {

	// 属性
	// 面积
	private double Area;
	// 周长
	private double per;
	// 颜色
	private String color;

	// 行为
	/**
	 * 当前层级的类没有计算面积的相关参数，所只能将该行为定义为抽象方法
	 * 
	 * @return 面积
	 */
	public abstract double calculateArea();

	/**
	 * 求周长（抽象方法）
	 * 
	 * @return 周长
	 */
	public abstract double calculatePer();

	/**
	 * 输出所有信息
	 */
	public abstract void showAll();

	/**
	 * 获取颜色
	 * 
	 * @return 颜色
	 */
	public String calculateColor() {
		return this.color;
	}

	public Shape() {
		super();
	}

	public Shape(String color) {
		super();
		this.color = color;
	}

	public double getArea() {
		return Area;
	}

	public void setArea(double area) {
		Area = area;
	}

	public double getPer() {
		return per;
	}

	public void setPer(double per) {
		this.per = per;
	}

	public String getColor() {
		return color;
	}

	public void setColor(String color) {
		this.color = color;
	}

}
